﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;

namespace WindowsFormsApplication7.DaTa
{
    class ConnectDB
    {
        //kết nối
        SqlConnection con = new SqlConnection();
        public void GetConect()
        {
            con.ConnectionString = @"server=LEXUANQUY-PC\SQLEXPRESS; Database=Northwind;Integrated Security=True";
            //nếu sql dùng user và pass thì dùng
            //string chuoiKetNoi = "server=LeXuanQuy-PC; Database=Northwind; uid=sa; pwd=123";
            con.Open();
        }
        //hàm lấy dữ liệu
        public DataTable GetData(string sql)
        {
            DataTable ds = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(sql, con);
            da.Fill(ds);
            con.Close();
            return ds;
        }
        //hàm cập nhật bình thường nhưng không tránh được SQL injection
        public void SetData(string sql)
        {
            if (con.State == ConnectionState.Open)
            {
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.ExecuteNonQuery();
            }
            else
            {
                con.Open();
                SqlCommand cmd = new SqlCommand(sql, con);
                cmd.ExecuteNonQuery();
            }
        }
        //hàm SetDataNotInjection dùng để cập nhật dữ liệu và tránh các lỗi SQL injection
        public void SetDataNotInjection(SqlCommand cmd)
        {
            if (con.State == ConnectionState.Open)
            {
                SqlCommand cmd2 = new SqlCommand();
                cmd2 = cmd;
                cmd2.Connection = con;
                cmd.ExecuteNonQuery();
            }
            else
            {
                con.Open();
                SqlCommand cmd2 = new SqlCommand();
                cmd2 = cmd;
                cmd2.Connection = con;
                cmd.ExecuteNonQuery();
            }
        }
    }
}
